//
// Created by webturing on 2024/1/1.
//
#include <bits/stdc++.h>

int a[50][50], vis[50];
int n;

void dfs(int i);

using namespace std;

int main() {
    // ifstream cin("input.txt");
    cin >> n;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {
        if (!vis[i]) {
            if (i != 0)cout << endl;
            dfs(i);
        }
    }
}

void dfs(int u) {
    vis[u] = 1;
    cout << u << " ";
    for (int i = 0; i < n; i++) {
        if (a[u][i] && !vis[i]) {
            dfs(i);
        }
    }
}
